package com.bytecamp.testplatform.mapper;

import com.bytecamp.testplatform.model.ApiInfo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;

/**
 * 接口信息数据访问层
 */
@Mapper
public interface ApiInfoMapper {

    // 新增：根据ID查询接口信息
    ApiInfo selectById(Long id);

    /**
     * 新增接口信息
     */
//    @Insert("INSERT INTO api_info (service_name, path, method, description, request_params, response_schema) " +
//            "VALUES (#{serviceName}, #{path}, #{method}, #{description}, #{requestParams}, #{responseSchema})")
    int insert(ApiInfo apiInfo);

    /**
     * 根据路径查询接口
     */
//    @Select("SELECT * FROM api_info WHERE path = #{path}")
    ApiInfo selectByPath(String path);

    /**
     * 查询所有接口
     */
//    @Select("SELECT * FROM api_info")
    List<ApiInfo> selectAll();

    // 新增：批量插入
    int batchInsert(List<ApiInfo> apiInfoList);

    // 新增：根据 path + method 查询接口（用于去重）
    ApiInfo selectByPathAndMethod(String path, String method);

}
